﻿using System;
using System.Collections.Generic;
using AbstractProducts;

namespace JiraRest
{
    public sealed class JiraProductLinkConfig
    {
        public JiraProductLinkConfig()
        {
            EarliestBuildDate = DateTime.MaxValue;
            ProductDependencies = new List<ProductRef>();
            OpenGrokSettings = new List<OpenGrokSetting>();
            ProductAssemblies = new List<string>();
            PropertyFilters = new Dictionary<string, string>();
            ExceptionTypeNameToReportHasherSourceCode = new Dictionary<string, string>();
            MethodTypeNameMapper = new Dictionary<string, string>();
            ExceptionTypeNameMapper = new Dictionary<string, string>();
        }

        public DateTime EarliestBuildDate { get; set; }
        public bool ReportsAreAutomaticallySent { get; set; }
        public IList<ProductRef> ProductDependencies { get; set; }
        public IList<OpenGrokSetting> OpenGrokSettings { get; set; }
        public IList<string> ProductAssemblies { get; set; }
        public IDictionary<string, string> PropertyFilters { get; set; }
        public IDictionary<string, string> ExceptionTypeNameToReportHasherSourceCode { get; set; }
        public IDictionary<string, string> MethodTypeNameMapper { get; set; }
        public IDictionary<string, string> ExceptionTypeNameMapper { get; set; }
    }
}
